import { getParams } from './form_js_utils';
// import { getFields } from '/@/api/process/process';

let formCode = '';

// 初始化，在processHandleView、smartModule中调用
function init(fmCode) {
  formCode = fmCode;
}

async function launchJs(script, funcs) {
  // console.log('launchJs script', script);
  let isSucceed = false;
  try {
    // 如果script中的方法不存在，eval 不会报错
    // await eval(script);

    let k = script.indexOf('init');
    if (k != -1) {
      let params = getParams('init', script);
      await init(params);
      return true;
    }

    k = script.indexOf('myfunc');
    if (k != -1) {
      let params = getParams('myfunc', script);
      await myfunc(params, funcs);
      isSucceed = true;
    } else {
      isSucceed = false;
    }
  } catch (e) {
    isSucceed = false;
    console.warn(e);
  }
  return isSucceed;
}

async function myfunc(id, funcs) {
  // 调用相关方法
  // await getFields({ typeCode: '389ae869094c40bbb' });
  // 刷新页面，funcs中第一个元素为 searchData 方法
  if (funcs && funcs.length > 0) {
    funcs[0]();
  }
}

export { launchJs };
